package com.sailing.xjpb.common.operator;

import java.util.Date;

/**
 * 操作人信息：使用SailingRepositoryBeanPostProcessor代理持久层Repository对象的save方法，执行save之前将用户信息绑定到实体上保存。
 *
 * @author YaoWei createDate 2020年10月29日 下午3:07:17
 * @deprecated since 2023-02-21 推荐使用CreateOperatorV1来构建操作用户信息
 */
@Deprecated
public interface CreateOperator {

    /**
     * 获取创建人ID
     *
     * @return 创建人ID
     */
    String getCreateUserId();

    /**
     * 设置创建人ID
     */
    void setCreateUserId(String createUserId);

    /**
     * 获取创建人姓名
     *
     * @return 创建人姓名
     */
    String getCreateUserName();

    /**
     * 设置创建人姓名
     */
    void setCreateUserName(String createUserName);

    /**
     * 获取创建人组织机构ID
     *
     * @return 创建人组织机构ID
     */
    default String getCreateOrgCode() {
        return null;
    }

    /**
     * 设置创建人组织机构ID
     */
    default void setCreateOrgCode(String createOrgCode) {

    }

    /**
     * 创建单位名称
     *
     * @return 创建单位名称
     */
    default String getCreateOrgName() {
        return null;
    }

    /**
     * 创建单位名称
     */
    default void setCreateOrgName(String createOrgName) {

    }

    /**
     * 获取创建时间
     *
     * @return 创建时间
     */
    Date getCreateTime();

    /**
     * 设置创建时间
     */
    void setCreateTime(Date createTime);

    /**
     * 获取创建人IP
     *
     * @return 创建人IP
     */
    default String getCreateIp() {
        return null;
    }

    /**
     * 设置创建人IP
     */
    default void setCreateIp(String createUserIp) {

    }

}
